<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent)-windows;$(NetCoreAppCurrent)-unix;$(NetCoreAppCurrent)</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <!-- SYSTEM_NET_SOCKETS_DLL is required to allow source-level code sharing for types defined within the
         System.Net.Internals namespace. -->
    <DefineConstants>$(DefineConstants);SYSTEM_NET_SOCKETS_DLL</DefineConstants>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
  </PropertyGroup>

  <!-- DesignTimeBuild requires all the TargetFramework Derived Properties to not be present in the first property group. -->
  <PropertyGroup>
    <TargetPlatformIdentifier>$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</TargetPlatformIdentifier>
    <GeneratePlatformNotSupportedAssemblyMessage Condition="'$(TargetPlatformIdentifier)' == ''">SR.SystemNetSockets_PlatformNotSupported</GeneratePlatformNotSupportedAssemblyMessage>
  </PropertyGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' != ''">
    <!-- All configurations -->
    <Compile Include="System\Net\Sockets\SocketReceiveFromResult.cs" />
    <Compile Include="System\Net\Sockets\SocketReceiveMessageFromResult.cs" />
    <Compile Include="System\Net\Sockets\SocketsTelemetry.cs" />
    <Compile Include="System\Net\Sockets\SocketTaskExtensions.cs" />
    <Compile Include="System\Net\Sockets\IOControlCode.cs" />
    <Compile Include="System\Net\Sockets\IPPacketInformation.cs" />
    <Compile Include="System\Net\Sockets\IPProtectionLevel.cs" />
    <Compile Include="System\Net\Sockets\LingerOption.cs" />
    <Compile Include="System\Net\Sockets\MulticastOption.cs" />
    <Compile Include="System\Net\Sockets\NetEventSource.Sockets.cs" />
    <Compile Include="System\Net\Sockets\NetworkStream.cs" />
    <Compile Include="System\Net\Sockets\SafeSocketHandle.cs" />
    <Compile Include="System\Net\Sockets\SelectMode.cs" />
    <Compile Include="System\Net\Sockets\SendPacketsElement.cs" />
    <Compile Include="System\Net\Sockets\Socket.cs" />
    <Compile Include="System\Net\Sockets\Socket.Tasks.cs" />
    <Compile Include="System\Net\Sockets\SocketAsyncEventArgs.cs" />
    <Compile Include="System\Net\Sockets\SocketAsyncOperation.cs" />
    <Compile Include="System\Net\Sockets\SocketFlags.cs" />
    <Compile Include="System\Net\Sockets\SocketInformationOptions.cs" />
    <Compile Include="System\Net\Sockets\SocketInformation.cs" />
    <Compile Include="System\Net\Sockets\SocketOptionLevel.cs" />
    <Compile Include="System\Net\Sockets\SocketOptionName.cs" />
    <Compile Include="System\Net\Sockets\SocketShutdown.cs" />
    <Compile Include="System\Net\Sockets\TCPClient.cs" />
    <Compile Include="System\Net\Sockets\TCPListener.cs" />
    <Compile Include="System\Net\Sockets\TransmitFileOptions.cs" />
    <Compile Include="System\Net\Sockets\UDPClient.cs" />
    <Compile Include="System\Net\Sockets\UdpReceiveResult.cs" />
    <Compile Include="System\Net\Sockets\UnixDomainSocketEndPoint.cs" />
    <!-- Common sources -->
    <Compile Include="$(CommonPath)DisableRuntimeMarshalling.cs"
             Link="Common\DisableRuntimeMarshalling.cs" />
    <!-- Logging -->
    <Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.cs"
             Link="Common\System\Net\Logging\NetEventSource.Common.cs" />
    <Compile Include="$(CommonPath)System\Net\Logging\NetEventSource.Common.DumpBuffer.cs"
             Link="Common\System\Net\Logging\NetEventSource.Common.DumpBuffer.cs" />
    <Compile Include="$(CommonPath)System\Net\InternalException.cs"
             Link="Common\System\Net\InternalException.cs" />
    <!-- Debug only -->
    <Compile Include="$(CommonPath)System\Net\DebugSafeHandleMinusOneIsInvalid.cs"
             Link="Common\System\Net\DebugSafeHandleMinusOneIsInvalid.cs" />
    <!-- System.Net common -->
    <Compile Include="$(CommonPath)System\Net\IPEndPointExtensions.cs"
             Link="Common\System\Net\IPEndPointExtensions.cs" />
    <Compile Include="$(CommonPath)System\Net\IPEndPointStatics.cs"
             Link="Common\System\Net\IPEndPointStatics.cs" />
    <Compile Include="$(CommonPath)System\Net\IPAddressParserStatics.cs"
             Link="Common\System\Net\IPAddressParserStatics.cs" />
    <Compile Include="$(CommonPath)System\Net\ExceptionCheck.cs"
             Link="Common\System\Net\ExceptionCheck.cs" />
    <Compile Include="$(CommonPath)System\Net\RangeValidationHelpers.cs"
             Link="Common\System\Net\RangeValidationHelpers.cs" />
    <Compile Include="$(CommonPath)System\Net\TcpValidationHelpers.cs"
             Link="Common\System\Net\TcpValidationHelpers.cs" />
    <Compile Include="$(CommonPath)System\Net\SocketAddressExtensions.cs"
             Link="Common\System\Net\SocketAddressExtensions.cs" />
    <Compile Include="$(CommonPath)System\Net\SocketProtocolSupportPal.cs"
             Link="Common\System\Net\SocketProtocolSupportPal.cs" />
    <Compile Include="$(CommonPath)System\Net\Sockets\SocketExceptionFactory.cs"
             Link="Common\System\Net\Sockets\SocketExceptionFactory.cs" />
    <Compile Include="$(CommonPath)System\Net\Sockets\ProtocolFamily.cs"
             Link="Common\System\Net\Sockets\ProtocolFamily.cs" />
    <Compile Include="$(CommonPath)System\Net\Sockets\ProtocolType.cs"
             Link="Common\System\Net\Sockets\ProtocolType.cs" />
    <Compile Include="$(CommonPath)System\Net\Sockets\SocketType.cs"
             Link="Common\System\Net\Sockets\SocketType.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'windows'">
    <!-- Windows: CoreCLR -->
    <Compile Include="System\Net\Sockets\DynamicWinsockMethods.cs" />
    <Compile Include="System\Net\Sockets\SafeSocketHandle.Windows.cs" />
    <Compile Include="System\Net\Sockets\Socket.Windows.cs" />
    <Compile Include="System\Net\Sockets\SocketAsyncEventArgs.Windows.cs" />
    <Compile Include="System\Net\Sockets\IOControlKeepAlive.Windows.cs" />
    <Compile Include="System\Net\Sockets\SocketPal.Windows.cs" />
    <Compile Include="System\Net\Sockets\UnixDomainSocketEndPoint.Windows.cs" />
    <Compile Include="$(CommonPath)System\Net\SocketAddressPal.Windows.cs"
             Link="Common\System\Net\SocketAddressPal.Windows.cs" />
    <Compile Include="$(CommonPath)System\Net\SocketProtocolSupportPal.Windows.cs"
             Link="Common\System\Net\SocketProtocolSupportPal.Windows" />
    <Compile Include="$(CommonPath)System\Net\Sockets\SocketExceptionFactory.Windows.cs"
             Link="Common\System\Net\Sockets\SocketExceptionFactory.Windows.cs" />
    <!-- Interop -->
    <Compile Include="$(CommonPath)Interop\Windows\Interop.Libraries.cs"
             Link="Common\Interop\Windows\Interop.Libraries.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.accept.cs"
             Link="Common\Interop\Windows\WinSock\Interop.accept.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.bind.cs"
             Link="Common\Interop\Windows\WinSock\Interop.bind.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.closesocket.cs"
             Link="Common\Interop\Windows\WinSock\Interop.closesocket.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.getpeername.cs"
             Link="Common\Interop\Windows\WinSock\Interop.getpeername.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.getsockname.cs"
             Link="Common\Interop\Windows\WinSock\Interop.getsockname.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.getsockopt.cs"
             Link="Common\Interop\Windows\WinSock\Interop.getsockopt.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.ioctlsocket.cs"
             Link="Common\Interop\Windows\WinSock\Interop.ioctlsocket.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.listen.cs"
             Link="Common\Interop\Windows\WinSock\Interop.listen.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.recv.cs"
             Link="Common\Interop\Windows\WinSock\Interop.recv.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.recvfrom.cs"
             Link="Common\Interop\Windows\WinSock\Interop.recvfrom.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.select.cs"
             Link="Common\Interop\Windows\WinSock\Interop.select.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.send.cs"
             Link="Common\Interop\Windows\WinSock\Interop.send.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.sendto.cs"
             Link="Common\Interop\Windows\WinSock\Interop.sendto.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.setsockopt.cs"
             Link="Common\Interop\Windows\WinSock\Interop.setsockopt.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.shutdown.cs"
             Link="Common\Interop\Windows\WinSock\Interop.shutdown.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.TransmitFile.cs"
             Link="Common\Interop\Windows\WinSock\Interop.TransmitFile.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WinsockBSD.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WinsockBSD.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WinsockAsync.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WinsockAsync.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSAConnect.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSAConnect.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSADuplicateSocket.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSADuplicateSocket.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSAGetOverlappedResult.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSAGetOverlappedResult.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSAIoctl.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSAIoctl.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSARecv.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSARecv.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSARecvFrom.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSARecvFrom.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSASend.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSASend.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSASendTo.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSASendTo.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSASocketW.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSASocketW.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSASocketW.SafeCloseSocket.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSASocketW.SafeCloseSocket.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSAStartup.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSAStartup.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.SocketConstructorFlags.cs"
             Link="Common\Interop\Windows\WinSock\Interop.SocketConstructorFlags.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\SafeNativeOverlapped.cs"
             Link="Common\Interop\Windows\WinSock\SafeNativeOverlapped.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\WSABuffer.cs"
             Link="Common\Interop\Windows\WinSock\WSABuffer.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\WinSock\Interop.WSAPROTOCOL_INFOW.cs"
             Link="Common\Interop\Windows\WinSock\Interop.WSAPROTOCOL_INFOW.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.CancelIoEx.cs"
             Link="Common\Interop\Windows\Interop.CancelIoEx.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.SetFileCompletionNotificationModes.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.SetFileCompletionNotificationModes.cs" />
    <Compile Include="$(CommonPath)Interop\Windows\Kernel32\Interop.HandleInformation.cs"
             Link="Common\Interop\Windows\Kernel32\Interop.HandleInformation.cs" />
    <Compile Include="$(CommonPath)System\Net\CompletionPortHelper.Windows.cs"
             Link="Common\System\Net\CompletionPortHelper.Windows.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'unix'">
    <Compile Include="System\Net\Sockets\SafeSocketHandle.Unix.cs" />
    <Compile Include="System\Net\Sockets\Socket.Unix.cs" />
    <Compile Include="System\Net\Sockets\SocketAsyncContext.Unix.cs" />
    <Compile Include="System\Net\Sockets\SocketAsyncEngine.Unix.cs" />
    <Compile Include="System\Net\Sockets\SocketAsyncEventArgs.Unix.cs" />
    <Compile Include="System\Net\Sockets\SocketPal.Unix.cs" />
    <Compile Include="System\Net\Sockets\UnixDomainSocketEndPoint.Unix.cs" />
    <Compile Include="$(CommonPath)System\Net\InteropIPAddressExtensions.Unix.cs"
             Link="Common\System\Net\InteropIPAddressExtensions.Unix.cs" />
    <Compile Include="$(CommonPath)System\Net\SocketAddressPal.Unix.cs"
             Link="Common\System\Net\SocketAddressPal.Unix.cs" />
    <Compile Include="$(CommonPath)System\Net\SocketProtocolSupportPal.Unix.cs"
             Link="Common\System\Net\SocketProtocolSupportPal.Unix" />
    <Compile Include="$(CommonPath)System\Net\Sockets\SocketErrorPal.Unix.cs"
             Link="Common\System\Net\Sockets\SocketErrorPal.Unix" />
    <Compile Include="$(CommonPath)Interop\Unix\Interop.Errors.cs"
             Link="Common\Interop\Unix\Interop.Errors.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\Interop.Libraries.cs"
             Link="Common\Interop\Unix\Interop.Libraries.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Accept.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Accept.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Bind.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Bind.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Close.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Close.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Connect.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Connect.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Fcntl.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Fcntl.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Disconnect.cs"
             Link="Common\Interop\Unix\Interop.Disconnect.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetBytesAvailable.cs"
             Link="Common\Interop\Unix\System.Native\Interop.GetBytesAvailable.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetDomainSocketSizes.cs"
             Link="Common\Interop\Unix\Interop.GetDomainSocketSizes.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetMaximumAddressSize.cs"
             Link="Common\Interop\Unix\Interop.GetMaximumAddressSize.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetPeerName.cs"
             Link="Common\Interop\Unix\System.Native\Interop.GetPeerName.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetSocketErrorOption.cs"
             Link="Common\Interop\Unix\System.Native\Interop.GetSocketErrorOption.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetSocketType.cs"
             Link="Common\Interop\Unix\System.Native\Interop.GetSocketType.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetSockName.cs"
             Link="Common\Interop\Unix\System.Native\Interop.GetSockName.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.GetSockOpt.cs"
             Link="Common\Interop\Unix\System.Native\Interop.GetSockOpt.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.IPAddress.cs"
             Link="Common\Interop\Unix\System.Native\Interop.IPAddress.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.IPPacketInformation.cs"
             Link="Common\Interop\Unix\System.Native\Interop.IPPacketInformation.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.LingerOption.cs"
             Link="Common\Interop\Unix\System.Native\Interop.LingerOption.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.SendFile.cs"
             Link="Common\Interop\Unix\System.Native\Interop.SendFile.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.SetSendTimeout.cs"
             Link="Common\Interop\Unix\System.Native\Interop.SetSendTimeout.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.SetReceiveTimeout.cs"
             Link="Common\Interop\Unix\System.Native\Interop.SetReceiveTimeout.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Stat.cs"
             Link="Common\Interop\Unix\Interop.Stat.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Listen.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Listen.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.IOVector.cs"
             Link="Common\Interop\Unix\System.Native\Interop.IOVector.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.MessageHeader.cs"
             Link="Common\Interop\Unix\System.Native\Interop.MessageHeader.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.MulticastOption.cs"
             Link="Common\Interop\Unix\System.Native\Interop.MulticastOption.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Poll.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Poll.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\Interop.Poll.Structs.cs"
             Link="Common\Interop\Unix\Interop.Poll.Structs.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.PlatformSocketSupport.cs"
             Link="Common\Interop\Unix\System.Native\Interop.PlatformSocketSupport.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Read.cs"
             Link="Common\Interop\Unix\Interop.Read.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Receive.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Receive.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.ReceiveMessage.cs"
             Link="Common\Interop\Unix\System.Native\Interop.ReceiveMessage.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Send.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Send.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.SendMessage.cs"
             Link="Common\Interop\Unix\System.Native\Interop.SendMessage.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.SetSockOpt.cs"
             Link="Common\Interop\Unix\System.Native\Interop.SetSockOpt.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Shutdown.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Shutdown.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Socket.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Socket.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.SocketEvent.cs"
             Link="Common\Interop\Unix\System.Native\Interop.SocketEvent.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.SocketAddress.cs"
             Link="Common\Interop\Unix\System.Native\Interop.SocketAddress.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Pipe.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Pipe.cs" />
    <Compile Include="$(CommonPath)Interop\Unix\System.Native\Interop.Write.cs"
             Link="Common\Interop\Unix\System.Native\Interop.Write.cs" />
    <Compile Include="$(CommonPath)System\Net\Sockets\SocketExceptionFactory.Unix.cs"
             Link="Common\System\Net\Sockets\SocketExceptionFactory.Unix.cs" />
  </ItemGroup>

  <ItemGroup>
    <Reference Include="Microsoft.Win32.Primitives" />
    <Reference Include="System.Collections" />
    <Reference Include="System.Collections.Concurrent" />
    <Reference Include="System.Console" Condition="'$(Configuration)' == 'Debug'" />
    <Reference Include="System.Diagnostics.Tracing" />
    <Reference Include="System.Memory" />
    <Reference Include="System.Net.NameResolution" />
    <Reference Include="System.Net.Primitives" />
    <Reference Include="System.Runtime" />
    <Reference Include="System.Runtime.InteropServices" />
    <Reference Include="System.Threading" />
    <Reference Include="System.Threading.Overlapped" />
    <Reference Include="System.Threading.ThreadPool" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'unix'">
    <Reference Include="System.Threading.Thread" />
  </ItemGroup>

</Project>
